From bb0db58c1ef863b98021b42aa80682fcf40027b4 Mon Sep 17 00:00:00 2001 From: Isaku Yamahata Date: Mon, 25 Aug 2008 19:04:37 +0900 Subject: [PATCH] [IA64] introduce compile time option to disable optvfault. Debugging optvfault path is extremely difficult because it was run with psr.ic = 0. Make it easy to differentiate the bug in optvfault path from other normal execution path with psr.ic = 0 by introducing compile time option to disable optvfault. Signed-off-by: Isaku Yamahata --- xen/arch/ia64/Rules.mk | 4 ++++ xen/arch/ia64/vmx/vmx_ivt.S | 2 ++ 2 files changed, 6 insertions(+) diff --git a/xen/arch/ia64/Rules.mk b/xen/arch/ia64/Rules.mk index dfdfb2a510..2c59eb4a18 100644 --- a/xen/arch/ia64/Rules.mk +++ b/xen/arch/ia64/Rules.mk @@ -14,6 +14,7 @@ xen_ia64_pervcpu_vhpt ?= y xen_ia64_tlb_track ?= y xen_ia64_tlb_track_cnt ?= n xen_ia64_tlbflush_clock ?= y +xen_ia64_disable_optvfault ?= n # Used only by linux/Makefile. AFLAGS_KERNEL += -mconstant-gp -nostdinc $(CPPFLAGS) @@ -67,6 +68,9 @@ CFLAGS += -DVHPT_ENABLED=1 else CFLAGS += -DVHPT_ENABLED=0 endif +ifeq ($(xen_ia64_disable_optvfault),y) +CFLAGS += -DCONFIG_XEN_IA64_DISABLE_OPTVFAULT +endif LDFLAGS := -g diff --git a/xen/arch/ia64/vmx/vmx_ivt.S b/xen/arch/ia64/vmx/vmx_ivt.S index 80d1882a1f..65a6b39802 100644 --- a/xen/arch/ia64/vmx/vmx_ivt.S +++ b/xen/arch/ia64/vmx/vmx_ivt.S @@ -973,6 +973,7 @@ END(vmx_single_step_trap) ENTRY(vmx_virtualization_fault) // VMX_DBG_FAULT(37) mov r31=pr +#ifndef CONFIG_XEN_IA64_DISABLE_OPTVFAULT movl r30 = virtualization_fault_table mov r23=b0 ;; @@ -981,6 +982,7 @@ ENTRY(vmx_virtualization_fault) mov b0=r30 br.sptk.many b0 ;; +#endif vmx_virtualization_fault_back: mov r19=37 adds r16 = IA64_VCPU_CAUSE_OFFSET,r21 -- 2.30.2